package behavior.responsechain;

/**
 * Created by lie on 2017/11/3.
 */
public class Test {
    public static void main(String[] args){
        //先初始化好领导链
        GroupLeader groupLeader = new GroupLeader();
        Manager manager = new Manager();
        Boss boss = new Boss();

        groupLeader.nextLeader = manager;
        groupLeader.nextLeader.nextLeader = boss;

        groupLeader.handleRequest(500);
        groupLeader.handleRequest(1000);
        groupLeader.handleRequest(5000);
        groupLeader.handleRequest(10000);

        //在这里并不一定要一级级的申请,比如我们可以不从组长开始,直接找老板报批.
//        答案是肯定的,这就是责任链模式的灵活之处.

//        在责任链模式中如需我们从任意节点开始发起请求
//                而且可以改变内部传递规则,比如主管不在,可以直接跨过,找经理
//        责任链节点只有两个行为,处理请求和将请求传递给下一个节点
//        对于一个请求最终只有两种结果,一是被处理,一是所有对象均未处理


    }
}
